// child_process子进程。一般文件压缩等工作可以放在子进程中
const child_process = require("child_process");
child_process.exec("node -v", (err, stdout) => {
  console.log("stdout", err, stdout);
});
child_process.execFile("npm", ["install", "chalk"], (err, stdout) => {
  // 这个stdout就是npm install chalk后在控制台输出的内容
  console.log(err, stdout);
});

const fs = require("fs");
const path = require("path");
const testJsonPath = path.resolve(process.cwd(), "test.json");
const testJsonPath2 = path.resolve(process.cwd(), "test2.json");
// null /t的作用是格式化
fs.writeFile(testJsonPath, JSON.stringify({ test: 1 }, null, "\t"), (err) => {
  console.log(err, "err");
});
// 同步写入
fs.writeFileSync(testJsonPath2, JSON.stringify({ test: 2 }, null, "\t"));

// fs-extra是fs的一个扩展，提供了非常多的便利API，并且继承了fs所有方法和为fs方法添加了promise的支持
const fse = require("fs-extra");
fse.copyFileSync(
  path.resolve(__dirname, "test2.json"),
  path.resolve(__dirname, "test3.json")
);
